package decorator_pattern;

/**
 * @author: 叶子
 * @date: 2022/02/28 10:39
 * 第三步：定义实现了组件接口的抽象装饰器角色类,聚合组件接口的一个实例
 **/
public abstract class WallBeautyDecorator implements WallBeauty {
    private WallBeauty wallBeauty;

    public WallBeautyDecorator(WallBeauty wallBeauty) {
        this.wallBeauty = wallBeauty;
    }

    @Override
    public void operation() {
        wallBeauty.operation();
        decoration();//这里弄个抽象方法给装饰器角色的实现类来实现不同的功能
    }

    protected abstract void decoration();
}